Trusted computing systems have been developed under the TCPA (Trusted Computing Platform Alliance), which is hereby incorporated by reference herein. In the prior art for trusted computing, all storage keys must be 2048-bit RSA private keys. Such 2048-bit keys require a relatively large amount of time to perform. For example, it may take approximately a second to load a 2048-bit RSA key, and if there is a long chain of keys that need to be loaded, where such a key loads another key, which loads another key, which loads another key, etc. the loading of such keys can require several seconds. Such a delay can be unacceptable to many users.
It has been determined that there are other public/private key algorithms in the art, such as multi-prime keys, or elliptic curve keys, which require less time to load and perform, but which have the same security as 2048 bit RSA keys. However, the RSA specification does not allow the use of such keys for storing migratable keys. This is because migratable keys need to be readable by all Trusted Platform Modules (TPMs) specified by the TCPA.
Therefore, there is a need in the art for an ability to use the quicker loading capability of these other public/private key algorithms, while also being able to support migration of keys between TPMs. At the same time, security and usability concerns require that the security mechanisms in place to authenticate a user using a migratable key not change.